<template>
    <div class="home-product">
        <HomePanel v-for="cate in goodsList" :itle="(cate as any).name" :key="(cate as any).id">
            <div class="box">
                <router-link class="cover" :to="`/`">
                    <img v-img-lazy="(cate as any).picture"/>
                </router-link>
                <ul class="goods-list">
                    <li v-for="good in (cate as any).goods" :key='good.id'>
                        <GoodsItems :goods="good"/>
                    </li>
                </ul>
            </div>
        </HomePanel>
    </div>
</template>

<script lang='ts' setup>
    import {getGoodsAPI} from '@/api/home'
    import { ref,onMounted } from 'vue'
    import GoodsItems from './GoodsItems.vue'
    import HomePanel from './HomePanel.vue'
    
    const goodsList = ref([])
    const  getGoodsList = async ()=>{
        const res = await getGoodsAPI()
        goodsList.value = (res as any).result
    }
    onMounted(() => {
        getGoodsList()
    })
</script>

<style lang="scss" scoped>
.home-product {
  background: #fff;
  margin-top: 20px;

  .sub {
    margin-bottom: 2px;

    a {
      padding: 2px 12px;
      font-size: 16px;
      border-radius: 4px;

      &:hover {
        background: $xtxColor;
        color: #fff;
      }

      &:last-child {
        margin-right: 80px;
      }
    }
  }

  .box {
    display: flex;

    .cover {
      width: 300px;
      height: 550px;
      margin-right: 10px;
      position: relative;

      img {
        width: 100%;
        height: 100%;
      }

      .label {
        width: 188px;
        height: 66px;
        display: flex;
        font-size: 18px;
        color: #fff;
        line-height: 66px;
        font-weight: normal;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translate3d(0, -50%, 0);

        span {
          text-align: center;

          &:first-child {
            width: 76px;
            background: rgba(0, 0, 0, 0.9);
          }

          &:last-child {
            flex: 1;
            background: rgba(0, 0, 0, 0.7);
          }
        }
      }
    }

    .goods-list {
      width: 830px;
      display: flex;
      flex-wrap: wrap;

      li {
        width: 200px;
        height: 280px;
        margin-right: 10px;
        margin-bottom: 10px;

        &:nth-last-child(-n + 4) {
          margin-bottom: 0;
        }

        &:nth-child(4n) {
          margin-right: 0;
        }
      }
    }


  }
}
</style>